6e0c2ac66d57e4d1e3d1a0c51706dc1df706411c,plugins/org.eclipse.xtext.xtend2/src/org/eclipse/xtext/xtend2/scoping/InjectedExtensionMethodsFeaturesProvider.java,InjectedExtensionMethodsFeaturesProvider,getAllFeatures,#JvmTypeReference#Iterable#,84

Before Change


	public Iterable<JvmFeature> getAllFeatures(JvmTypeReference reference,
			Iterable<JvmTypeReference> hierarchy) {
		JvmTypeReference typeReference = xtendField.getType();
		JvmType rawType = typeRefs.getRawType(typeReference);
		if (rawType instanceof JvmDeclaredType) {
			List<JvmFeature> result = newArrayList();
			Iterable<JvmFeature> features = ((JvmDeclaredType) rawType).getAllFeatures();
			collectExtensions(hierarchy, features, result);
			return result;
		} else {
			return Collections.emptyList();
		}
	}
	

After Change


	public Iterable<JvmFeature> getAllFeatures(JvmTypeReference reference,
			Iterable<JvmTypeReference> hierarchy) {
		JvmTypeReference typeReference = xtendField.getType();
		List<JvmType> rawTypes = getRawTypeHelper().getAllRawTypes(typeReference, xtendField.eResource());
		List<JvmFeature> result = newArrayList();
		for(JvmType rawType: rawTypes) {
			if (rawType instanceof JvmDeclaredType) {
				Iterable<JvmFeature> features = ((JvmDeclaredType) rawType).getAllFeatures();
				collectExtensions(hierarchy, features, result);
			}
		}
		return result;